
(function () {
    'use strict';
    // 数组扩展方法 根据下标移动数组元素返回新数组
    Array.prototype.move = function (newIndex, oldIndex) {
        const length = this.length;
        // 处理负数索引
        oldIndex = oldIndex < 0 ? oldIndex + length : oldIndex;
        newIndex = newIndex < 0 ? newIndex + length : newIndex;
        // 检查索引有效性
        if (
            oldIndex < 0 ||
            oldIndex >= length ||
            newIndex < 0 ||
            newIndex > length
        ) {
            return [...this]; // 返回原数组的副本
        }
        // 创建新数组以避免修改原数组
        const newArr = [...this];
        const [element] = newArr.splice(oldIndex, 1);
        newArr.splice(newIndex, 0, element);
        return newArr;
    }
})()